/*
 * linux/arch/ckcore/ck6408evb/config.c
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1999-2002, Greg Ungerer (gerg@snapgear.com)
 * Copyright (C) 2000, Lineo (www.lineo.com)
 * Copyright (C) 2004, Kang Sun (sunk@vlsi.zju.edu.cn)
 * Copyright (C) 2004, Li Chunqiang (chunqiang_li@c-sky.com)
 * Copyright (C) 2009, Hu Junshan (junshan_hu@c-sky.com)
 */

#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/param.h>
#include <linux/init.h>
#include <linux/rtc.h>
#include <asm/machdep.h>
#include <asm/ckcore.h>
#include <asm/delay.h>
#include <asm/mmu_context.h>

extern void gx6002_tick(void);
extern int gx6002_hwclk(int set, struct rtc_time *t);
extern void __init gx6002_timer_init(irq_handler_t handler);
extern unsigned long gx6002_timer_offset(void); 
extern void __init gx6002_init_IRQ(void); 
extern unsigned int gx6002_check_interrupt_num(void);

void __init config_BSP(char *commandp, int size)
{

	strncpy(commandp, CONFIG_BOOTPARAM_STRING, size);
	commandp[size-1] = 0;

	mach_time_init = gx6002_timer_init;
	mach_tick = gx6002_tick;
	mach_hwclk = gx6002_hwclk;
	mach_init_IRQ = gx6002_init_IRQ;
	mach_gettimeoffset = gx6002_timer_offset;
	mach_get_auto_irqno = gx6002_check_interrupt_num;
}

